home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / code / p_serlib.sit / Serial Library Source Code / error.c < prev    next >
Text File  |  1989-07-27  |  2KB  |  117 lines

  1. /***********************************************************************/
  2. /*    
  3. /*    error.c
  4. /*    by Atul Butte
  5. /*    Copyright ⌐ 1989 by Microsoft Corporation
  6. /*    All Rights Reserved
  7. /*
  8. /*    version 1.0
  9. /*    
  10. /*    
  11. /*    This routine provides standard error display functions.
  12. /*    
  13. /***********************************************************************/
  14.  
  15. /***********************************************************************/
  16. /*
  17. /*    D E F I N E S
  18. /*
  19. /***********************************************************************/
  20.  
  21. #define hNIL 0L
  22. #define pNIL 0L
  23.  
  24. /* if you are using Think C, remove the following line */
  25. #define MPW
  26.  
  27. #ifndef MPW
  28. #define THINK
  29. #endif
  30.  
  31. /***********************************************************************/
  32. /*
  33. /*    I N C L U D E S
  34. /*
  35. /***********************************************************************/
  36.  
  37. #ifdef MPW
  38. #include <Types.h>
  39. #include <Quickdraw.h>
  40. #include <Fonts.h>
  41. #include <Serial.h>
  42. #include <Files.h>
  43. #include <ToolUtils.h>
  44. #include <OSUtils.h>
  45. #include <Events.h>
  46. #include <Windows.h>
  47. #include <Fonts.h>
  48. #include <TextEdit.h>
  49. #endif
  50.  
  51. #include "error.h"
  52.  
  53. void display_string( pstMsg )
  54.     char                    *pstMsg;
  55. {
  56.     Rect                    rectBounds;
  57.     Rect                    rectIcon;
  58.     Rect                    rectText;
  59.     WindowPtr                pwindNew;
  60.     GrafPtr                    Tport;
  61.     EventRecord                event;
  62.     
  63.     SetRect( &rectBounds, 0, 0, 340, 160 );
  64.     SetRect( &rectIcon, 20, 20, 52, 52 );
  65.     SetRect( &rectText, 20, 64, 320, 140 );
  66.     OffsetRect( &rectBounds, 100, 60 );
  67.     
  68.     pwindNew = NewWindow( pNIL, &rectBounds, "\pLibrary Error", true, dBoxProc, (WindowPtr) -1, false, 0L );
  69.     
  70.     if( pwindNew == pNIL ) {
  71.         SysBeep( 1 );
  72.         SysBeep( 1 );
  73.     }
  74.     GetPort( &Tport );
  75.     SetPort( pwindNew );
  76.     PlotIcon( &rectIcon, GetIcon( 1 ) );
  77.     TextFont( systemFont );
  78.     TextSize( 12 );
  79.     MoveTo( 65, 34 );
  80.     DrawString( "\pLibrary Error!" );
  81.     MoveTo( 65, 50 );
  82.     DrawString( "\pClick the mouse to continue." );
  83.     TextBox( pstMsg + 1, (long) *pstMsg, &rectText, teJustLeft );
  84.     while( !Button() );
  85.     while( WaitMouseUp() );
  86.     GetNextEvent( mDownMask, &event );
  87.     SetPort( Tport );
  88.     DisposeWindow( pwindNew );
  89. }
  90.  
  91. void return_string( pstBuff, wError )
  92.     register char    *pstBuff;
  93.     char            wError;
  94. {
  95.     register char    *pstLength = pstBuff;
  96.     
  97.     *pstLength = 6;
  98.     pstBuff++;
  99.     *pstBuff = 'E';
  100.     pstBuff++;
  101.     *pstBuff = 'r';
  102.     pstBuff++;
  103.     *pstBuff = 'r';
  104.     pstBuff++;
  105.     *pstBuff = ' ';
  106.     pstBuff++;
  107.     *pstBuff = '-';
  108.     pstBuff++;
  109.     wError = -wError;
  110.     if( wError > 9 ) {
  111.         (*pstLength)++;
  112.         *pstBuff = '0' + wError / 10;
  113.         wError = wError % 10;
  114.         *pstBuff++;
  115.     }
  116.     *pstBuff = wError + '0';
  117. }